<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 skin-theme-clientpref-day vector-sticky-header-enabled" lang="de" dir="ltr"><head>
<meta charset="UTF-8">
<title>Universal Asynchronous Receiver Transmitter</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://de.wikipedia.org/wiki/Universal_Asynchronous_Receiver_Transmitter"> <link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link href="./_mw_/ext.gadget.citeRef.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.defaultPlainlinks.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonHide.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonLayout.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonStyle.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiDarkmode.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiResponsive.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.specialSearch.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Universal_Asynchronous_Receiver_Transmitter rootpage-Universal_Asynchronous_Receiver_Transmitter skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Universal Asynchronous Receiver Transmitter</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="de" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="de" dir="ltr">
<p><b>Universal Asynchronous Receiver Transmitter</b>, kurz <b>UART</b> (Aussprache: <style data-mw-deduplicate="TemplateStyles:r227981795">
/* start https://de.wikipedia.org/ */
.mw-parser-output .IPA a{text-decoration:none}
/* end https://de.wikipedia.org/ */
</style><span class="navigation-not-searchable"><span class="IPA"><a href="Liste_der_IPA-Zeichen" title="Liste der IPA-Zeichen"><span title="Aussprache im Internationalen Phonetischen Alphabet (IPA)" lang="zxx">ʊəˡat</span></a></span></span> oder <span class="navigation-not-searchable"><span class="IPA"><a href="Liste_der_IPA-Zeichen" title="Liste der IPA-Zeichen"><span title="Aussprache im Internationalen Phonetischen Alphabet (IPA)" lang="zxx">ˡju art</span></a></span></span>), ist eine elektronische Schaltung, die zur Realisierung digitaler <a href="Serielle_Schnittstelle" title="Serielle Schnittstelle">serieller Schnittstellen</a> dient. Dabei kann es sich sowohl um ein eigenständiges <a href="Elektrisches_Bauelement" title="Elektrisches Bauelement">elektronisches Bauelement</a> (ein UART-<a href="Die_(Halbleitertechnik)" title="Die (Halbleitertechnik)">Chip</a> bzw. <a href="Integrierter_Schaltkreis" title="Integrierter Schaltkreis">-Baustein</a>) oder um einen Funktionsblock eines höherintegrierten Bauteils (z. B. eines <a href="Mikrocontroller" title="Mikrocontroller">Mikrocontrollers</a>) handeln.
</p><p>Eine UART-Schnittstelle dient zum Senden und Empfangen von Daten über eine <a href="Datenleitung" title="Datenleitung">Datenleitung</a> und bildet den Standard der seriellen Schnittstellen an <a href="Computer" title="Computer">PCs</a> und <a href="Mikrocontroller" title="Mikrocontroller">Mikrocontrollern</a>. Auch im industriellen Bereich ist die Schnittstelle mit verschiedenen Interfaces (z. B. <a href="RS-232" title="RS-232">RS-232</a> oder <a href="EIA-485" title="EIA-485">EIA-485</a>) sehr verbreitet.
</p><p>Die Daten werden als serieller digitaler Datenstrom mit einem fixen Rahmen übertragen, der aus einem Start-Bit, fünf bis maximal acht oder neun Datenbits (abhängig von der Anwendung), einem optionalen <a href="Parity-Bit" class="mw-redirect" title="Parity-Bit">Parity-Bit</a> zur Erkennung von Übertragungsfehlern und einem oder zwei Stopp-Bits besteht. Der Sender braucht dem Empfänger den Sendetakt nicht über eine eigene Steuerleitung mitzuteilen. Stattdessen berechnet der Empfänger den Takt des Senders aus dem Takt der Datenleitung und synchronisiert sich mit Hilfe der Start- und Stopbits darauf. Gewöhnlich kann das Stopp-Bit auf das 1,5- oder 2-Fache der normalen Übertragungszeit eines Bits konfiguriert werden. Das wird als 1,5 bzw. 2 Stopp-Bits bezeichnet und muss sowohl beim Sender als auch beim Empfänger übereinstimmend eingestellt werden. Weil der Empfänger den Takt des Senders mit jedem empfangenen Byte neu berechnet und sich jedes Mal neu darauf synchronisiert, können auch große Unterschiede des Taktes zwischen Sender und Empfänger ausgeglichen werden. Auch kurzfristige Taktschwankungen werden auf diese Weise schnell wieder ausgeglichen. Deswegen nennt man diese Art der Datenübertragung „asynchron“ und diese Art der Synchronisation „bytesynchron“.
</p>
<div class="mw-heading mw-heading2"><h2 id="Asynchrone_Datenübertragungsverfahren_und_Realisierung_als_integrierter_Schaltkreis"><span id="Asynchrone_Daten.C3.BCbertragungsverfahren_und_Realisierung_als_integrierter_Schaltkreis"></span>Asynchrone Datenübertragungsverfahren und Realisierung als integrierter Schaltkreis</h2></div>
<table class="wikitable float-left" style="text-align:right;">
<caption>Übliche Bitraten
</caption>
<tbody><tr>
<th>Bitrate</th>
<th>Bitdauer
</th></tr>
<tr>
<td>50 bit/s</td>
<td>20,0 ms
</td></tr>
<tr>
<td>110 bit/s</td>
<td>9,09 ms
</td></tr>
<tr>
<td>150 bit/s</td>
<td>6,67 ms
</td></tr>
<tr>
<td>300 bit/s</td>
<td>3,33 ms
</td></tr>
<tr>
<td>1.200 bit/s</td>
<td>833 µs
</td></tr>
<tr>
<td>2.400 bit/s</td>
<td>417 µs
</td></tr>
<tr>
<td>4.800 bit/s</td>
<td>208 µs
</td></tr>
<tr>
<td>9.600 bit/s</td>
<td>104 µs
</td></tr>
<tr>
<td>19.200 bit/s</td>
<td>52,1 µs
</td></tr>
<tr>
<td>38.400 bit/s</td>
<td>26,0 µs
</td></tr>
<tr>
<td>57.600 bit/s</td>
<td>17,4 µs
</td></tr>
<tr>
<td>115.200 bit/s</td>
<td>8,68 µs
</td></tr>
<tr>
<td>230.400 bit/s</td>
<td>4,34 µs
</td></tr>
<tr>
<td>460.800 bit/s</td>
<td>2,17 µs
</td></tr>
<tr>
<td>921.600 bit/s</td>
<td>1,08 µs
</td></tr>
<tr>
<td>2.000.000 bit/s
</td>
<td>500 ns
</td></tr>
<tr>
<td>3.000.000 bit/s
</td>
<td>333 ns
</td></tr></tbody></table>
<div class="mw-heading mw-heading3"><h3 id="Asynchronbetrieb_(Start-Stop-Betrieb)"><span id="Asynchronbetrieb_.28Start-Stop-Betrieb.29"></span>Asynchronbetrieb (Start-Stop-Betrieb)</h3></div>
<p>Die Besonderheit bei der asynchronen Betriebsweise besteht darin, dass der Sender dem Empfänger kein eigenes <a href="Taktsignal" title="Taktsignal">Taktsignal</a> auf einer eigenen Steuerleitung überträgt. Stattdessen synchronisiert sich der Empfänger über die Länge des Rahmens, vermittelt durch die Vorderflanke des neuen Start-Bits nach dem letzten empfangenen Stopp-Bit, sowie die eingestellte <a href="Baudrate" class="mw-redirect" title="Baudrate">Baudrate</a> (welche in diesem Fall der <a href="Daten%C3%BCbertragungsrate#Zusammenhang_zwischen_Datenübertragungsrate,_Bandbreite_und_Schrittgeschwindigkeit" title="Datenübertragungsrate">Bitrate</a> entspricht). Weil der Beginn einer Übertragung mit dem Start-Bit zu beliebigen Zeitpunkten erfolgen kann, wird diese serielle Schnittstelle als <i><a href="Asynchrone_Daten%C3%BCbertragung" title="Asynchrone Datenübertragung">asynchron</a></i> bezeichnet. Um eine Synchronisation gewährleisten zu können, ist die Anzahl der übertragbaren Datenbits innerhalb eines Rahmens eingeschränkt. Würde mehr als ein Byte in einen Rahmen verpackt, könnte die Synchronisation verloren gehen, was zu Fehlinterpretationen des Datenstromes und somit zu einer fehlerhaften Übertragung führen könnte. Wenn in einer Sendepause keine Daten zu übertragen sind, so legt der Sender die Leitung auf die Polarität des Stopp-Bits. Weil der Empfänger sich mit jedem übertragenen Rahmen neu synchronisiert, ist es nicht notwendig, dass zwischen den übertragenen Rahmen ein zeitlicher Zusammenhang besteht. Nur für die Dauer eines einzelnen Rahmens müssen Sender und Empfänger synchron arbeiten, nicht länger. Das nennt man „bytesynchron“ oder <i>zeichensynchron</i>.
</p><p>Serielle Schnittstellen in synchroner Betriebsweise benötigen keinen Rahmen aus Start-/Stopp-Bits. Sie stellen die Synchronität der Teilnehmer auf andere Weise sicher, zum Beispiel indem eine zusätzliche Taktleitung verwendet wird oder der Takt aus dem <a href="Leitungscode#Taktrückgewinnung" title="Leitungscode">Leitungscode zurückgewonnen</a> wird.
</p>
<div class="mw-heading mw-heading3"><h3 id="Serielle_Schnittstelle">Serielle Schnittstelle</h3></div>
<p>Die Geschichte des UART ist eng verbunden mit der Standardisierung der Datenkommunikation von RS-232. Waren die ersten UARTs für Datenübertragungsraten weniger hundert <a href="Bit" title="Bit">Bit</a>/s und den Anschluss an <a href="Fernschreiber" title="Fernschreiber">Teletypes</a> mit <a href="Stromschnittstelle" title="Stromschnittstelle">Stromschnittstelle</a> oder <a href="Modem" title="Modem">Modems</a> vorgesehen, so erreichten sie in späteren Jahren als eigenständige Chips mehrere Megabit pro Sekunde.
Die asynchrone Übertragung findet in der Datenkommunikation bei der RS-232-Schnittstelle Verwendung. Diese Schnittstelle weist eine vergleichsweise große Verbreitung auf. Ein UART erzeugt die auf der RS-232-Schnittstelle zu übertragenden Datenbits und den dazu notwendigen Datenrahmen. Die eigentliche RS-232-Schnittstelle besteht zusätzlich noch aus <a href="Pegelumsetzer#Schnittstellentreiber" title="Pegelumsetzer">Pegelumsetzern</a> und weiteren Bauelementen wie Steckern, welche nicht mehr Teil eines UART sind.
</p><p>Damit UART-Baugruppen kommunizieren können, müssen die Empfangsleitung (Rx) der einen und die Sendungsleitung (Tx) der anderen Baugruppe am Stecker gegenüberstehen. Damit sind stets zwei Steckerbelegungstypen (Master und Slave) erforderlich, auch wenn die Geräte vollkommen gleichberechtigt kommunizieren. Sollen Master mit Master oder Slave mit Slave kommunizieren können, sind Kreuzverbinder (analog dem Null-Modem-Kabel der seriellen Schnittstelle oder dem Cross-Over-Kabel des Ethernet) erforderlich.
</p><p>Eine Modifikation, die Single-Wire UART (SWART), vermeidet dieses Verpolungsproblem. Werden Rx und Tx zusammen auf einem Pin vereint, ist zwar nur eine Simplex-Übertragung möglich, dafür aber können dann beliebige Module miteinander kommunizieren. Es können sogar mehrere UART-Module auf einem Draht kommunizieren (SWART-Bus). Die SWART ist insbesondere für kurze Entfernungen und für Datenraten bis 115.200 Baud geeignet.
</p>
<div class="mw-heading mw-heading3"><h3 id="Realisierungen">Realisierungen</h3></div>
<p>Realisiert wird ein UART meist als Kommunikationsbaustein in <a href="Mikrocontroller" title="Mikrocontroller">Mikrocontrollern</a>, oder in <a href="Computer" title="Computer">Computern</a> als eigenständige <a href="Integrierter_Schaltkreis" title="Integrierter Schaltkreis">integrierte Schaltung</a>, als Teilfunktion in <a href="Chipsatz" title="Chipsatz">Chipsätzen</a>, in Form von <a href="Hardwarebeschreibungssprache" title="Hardwarebeschreibungssprache">Hardwarebeschreibungssprachen</a> für die Integration in <a href="Field_Programmable_Gate_Array" title="Field Programmable Gate Array">Field Programmable Gate Arrays</a> (FPGAs) oder als sogenanntes „Software-UART“, das nur durch eine Programmabfolge vorliegt und bestimmte Ein-/Ausgabepins direkt ansteuert (<a href="Bit-Banging" title="Bit-Banging">Bit-Banging</a>). Die zu übertragenden bzw. die empfangenen Daten werden an das UART meist in paralleler Form, beispielsweise über einen <a href="Bus_(Datenverarbeitung)#CPU-externer_Bus" title="Bus (Datenverarbeitung)">CPU-externen Bus</a>, geliefert.
</p><p>Ein UART-Baustein, der über viele Jahre in handelsüblichen PCs als eigenständiger Baustein verwendet wurde, ist das von <a href="National_Semiconductor" title="National Semiconductor">National Semiconductor</a> entwickelte UART 8250 und seine kompatiblen Nachfolger 16450 und 16550. Der 16550 enthält neben dem Empfangs- bzw. Sendeteil zusätzlich einen <a href="FIFO" class="mw-redirect" title="FIFO">FIFO</a>-Pufferspeicher mit 16 Byte, welcher einen Überlauf des Empfangspuffers von sonst nur einem Byte bei hohen Bitraten minimiert. Der Prozessor wird zudem nur noch um ein Sechzehntel mal so häufig von Interrupts unterbrochen, was die Effizienz des Programmablaufes deutlich erhöht. 16450 und 16550 ICs sind zueinander pin-kompatibel und können problemlos gegeneinander ausgetauscht werden. Häufig war das eine notwendige sowie recht einfache Maßnahme um schnell getakteten Prozessoren, etwa ab <a href="I386" title="I386">i386</a>, schnelle serielle Datenübertragung mit mehr als 19,2 kbit/s zu ermöglichen. Seit Mitte der 1990er Jahre werden UART-Controller in PCs kaum noch als eigenständige integrierte Schaltungen eingesetzt, da die Bereitstellung serieller Schnittstellen im <a href="Chipsatz" title="Chipsatz">Chipsatz</a> von Multi-I/O Erweiterungskarten und später direkt in die <a href="Southbridge" title="Southbridge">Southbridge</a> des <a href="Mainboard" class="mw-redirect" title="Mainboard">Mainboards</a> integriert wurde.
</p>
<div class="mw-heading mw-heading2"><h2 id="Varianten">Varianten</h2></div>
<p>Neben dem eigentlichen UART existieren weitere auf dem UART basierende Schnittstellenbausteine. Übliche Bezeichnungen sind <b>DUART</b>, die Abkürzung steht für <i>Dual Universal Asynchronous Receiver Transmitter</i>, der zwei UARTs in einem einzelnen <a href="Integrierte_Schaltung" class="mw-redirect" title="Integrierte Schaltung">Mikrochip</a> kombiniert. <b>USART</b> (Aussprache: <span class="navigation-not-searchable"><span class="IPA"><a href="Liste_der_IPA-Zeichen" title="Liste der IPA-Zeichen"><span title="Aussprache im Internationalen Phonetischen Alphabet (IPA)" lang="zxx">ʊəˡsat</span></a></span></span> oder <span class="navigation-not-searchable"><span class="IPA"><a href="Liste_der_IPA-Zeichen" title="Liste der IPA-Zeichen"><span title="Aussprache im Internationalen Phonetischen Alphabet (IPA)" lang="zxx">'ju sart</span></a></span></span>) steht für <i>Universal Synchronous/Asynchronous Receiver Transmitter</i> und bietet zusätzlich die Möglichkeit einer <a href="Synchrone_Daten%C3%BCbertragung" title="Synchrone Datenübertragung">synchronen Datenübertragung</a>.
</p><p>In einfachen Mikrocontroller-Systemen werden Daten häufig über UART-Schnittstellen ausgetauscht, die ohne <a href="Handshake" class="mw-redirect" title="Handshake">Handshake</a>, nur über Rx und Tx, und ohne die für <a href="RS-232" title="RS-232">RS-232</a> notwendigen <a href="Pegelumsetzer" title="Pegelumsetzer">Pegelumsetzer</a> verwirklicht sind. Da mit den Pegelumsetzern auch eine Invertierung wegfällt, findet die Kommunikation über nichtinvertierte <a href="Logikpegel" title="Logikpegel">TTL-Pegel bzw. CMOS-Pegel</a> statt. Diese für kurze Entfernungen geeignete, auch <i>CMOS-UART</i> bzw. <i>TTL-UART</i> genannte Implementierung wird von praktisch allen Mikrocontrollern unterstützt und kann bei entsprechend geringen Übertragungsraten auch über Software realisiert werden (<a href="Bit-Banging" title="Bit-Banging">Bit-Banging</a>).
</p>
<div class="mw-heading mw-heading2"><h2 id="Literatur">Literatur</h2></div>
<ul><li>A. P. Godse, D. A. Godse: <i>Microprocessors and Microcontrollers</i>. Technical Publishing Pune, 2007, ISBN 978-81-8431-297-3.</li>
<li>Hans-Peter Messmer, Klaus Dembowski: <i>PC-Hardwarebuch.</i> 7. Auflage. Addison-Wesley Verlag, München 2003, ISBN 3-8273-2014-3.</li>
<li>Jerry D. Gibson (Hrsg.): <i>Mobile Communications Handbook</i>. 3. Auflage. Taylor & Francis Group, Boca Raton 2013, ISBN 978-1-4398-1723-0.</li>
<li>Hans Liebig, Thomas Flik: <i>Rechnerorganisation</i>. Prinzipien – Strukturen – Algorithmen, 2. Auflage, Springer Verlag, Berlin/Heidelberg 1993, ISBN 3-540-54632-4.</li>
<li>Friedrich Wittgruber: <i>Digitale Schnittstellen und Bussysteme. Einführung für das technische Studium.</i> Friedrich Vieweg & Sohn Verlag, 1999, ISBN 3-528-07436-1.</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Weblinks">Weblinks</h2></div>
<ul><li><a rel="nofollow" class="external text" href="http://www.ti.com/lit/ds/symlink/pc16550d.pdf">Datenblatt des 16550D UART</a> (engl.)</li>
<li><a rel="nofollow" class="external text" href="http://www.mikrocontroller.net/articles/UART">CMOS-UART und RS-232 in modernen Mikrocontrollern</a></li>
<li><a rel="nofollow" class="external text" href="https://opencores.org/projects/uart16550">16550 UART core</a> – Quelloffene und unter GPL stehende Implementierung eines 16550 in <a href="Verilog" title="Verilog">Verilog</a> zur Integration in FPGAs.</li>
<li><a rel="nofollow" class="external text" href="https://onlinedocs.microchip.com/pr/GUID-167CA20A-2C0F-4CBC-A693-9FD032B9B193-en-US-1/index.html?GUID-C8B83E54-0F62-4205-98DD-B1560AACDBB4">Basic Operation of UART with Protocol Support</a> - (engl. - Microchip.com)</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Quelle">Quelle</h2></div>
<ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://doc.chipfind.ru/pdf/nsc/ins8250.pdf">Datenblatt PC16450C/NS16450, PC8250A/INS8250A</a> (PDF; 677 kB)</span>
</li>
</ol></div><!--htdig_noindex--><div><div class="zim-footer">
Dieser Artikel wurde von <a class="external text" title="Zuletzt bearbeitet am 2025-09-17" href="https://de.wikipedia.org/wiki/?title=Universal_Asynchronous_Receiver_Transmitter&oldid=259825468">Wikipedia</a> herausgegeben. Der Text ist unter <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.de">Creative Commons Attribution-Share Alike 4.0</a> verfügbar, sofern nicht anders angegeben. Für die Mediendateien können zusätzliche Bedingungen gelten.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>
</body></html>